namespace SumerCoreDevOps.Shared.Models.Messages;

/// <summary>
/// 产物上传消息（执行节点 -> 控制端）
/// </summary>
public class ArtifactUploadMessage
{
    /// <summary>
    /// 节点 ID
    /// </summary>
    public long NodeId { get; set; }

    /// <summary>
    /// 任务 ID
    /// </summary>
    public long TaskId { get; set; }

    /// <summary>
    /// 构建历史 ID
    /// </summary>
    public long BuildHistoryId { get; set; }

    /// <summary>
    /// 产物名称
    /// </summary>
    public string Name { get; set; } = string.Empty;

    /// <summary>
    /// 产物类型（zip, tar.gz 等）
    /// </summary>
    public string Type { get; set; } = string.Empty;

    /// <summary>
    /// 文件大小（字节）
    /// </summary>
    public long FileSize { get; set; }

    /// <summary>
    /// 文件路径（执行节点上的路径）
    /// </summary>
    public string FilePath { get; set; } = string.Empty;

    /// <summary>
    /// MD5 哈希值
    /// </summary>
    public string Md5Hash { get; set; } = string.Empty;

    /// <summary>
    /// 描述
    /// </summary>
    public string? Description { get; set; }
}
